Αυτή η ερώτηση έχει ήδη απαντήσεις εδώ: Πώς μπορώ να επιστρέψω την απάντηση από μια ασύγχρονη κλήση; (42 απαντήσεις) Κλειστό πριν από 5 μήνες. Επομένως, όταν εκτελείτε τον ακόλουθο κώδικα, η απάντηση του console.log (ba) είναι απροσδιόριστη Αλλά όταν το δοκιμάζω στην κονσόλα Chrome V8 παίρνω τη σωστή έξοδο που περιμένω. Δεν είμαι απόλυτα σίγουρος τι συμβαίνει εδώ. ας βα; συνάρτηση Setqa () { (async () => { περιμένετε ανάκτηση ('question.json') .then (res => res.json ()) .then (async (δεδομένα) => { ba = αναμονή δεδομένων; }); }) (); } Σετκα (); console.log (ba); Τα περιεχόμενα του αρχείου json είναι τα εξής: "ερωτήσεις": [{ "questionType": "πολλαπλάσιο", "ερώτηση": "Πώς είναι ο καιρός", "απαντήσεις": "", "ερώτηση απάντηση": "" }, { "questionType": "πολλαπλάσιο", "ερώτηση": "Πώς είσαι σήμερα;", "απαντήσεις": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:13:23
Υποθέτω ότι πρέπει να λειτουργήσει ας βα; συνάρτηση Setqa () { επιστροφή ανάκτησης ('questions.json') .then (res => res.json ()) .then (async (δεδομένα) => { ba = αναμονή δεδομένων; }); } Setqa (). Τότε (() => console.log (ba)); Αλλά μια καλύτερη προσέγγιση θα ήταν συνάρτηση async setQa () { const res = αναμονή ανάκτησης ('question.json'); επιστροφή res.json (); } ας ba = περιμένουμε το setQa (); | Δεν είναι η απάντηση που ψάχνετε; Περιηγηθείτε σε άλλες ερωτήσεις με ετικέτα javascript json fetch console.log ή κάντε τη δική σας ερώτηση.